import App from './App'
import './utils/utils.js'
import { createSSRApp } from 'vue'
import { createPinia } from 'pinia'
// Pinia 持久化插件
// import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'
//自定义存储方法
import { createPersistedState } from 'pinia-plugin-persistedstate'
// vue2 用的
// #ifndef VUE3
// import Vue from 'vue'
// import './uni.promisify.adaptor'
// Vue.config.productionTip = false
//Vue.config.devtools = true
// App.mpType = 'app'
// const app = new Vue({
//   ...App
// })
// app.$mount()
// #endif

export function createApp() {
	const app = createSSRApp(App)
	const pinia = createPinia()
	const customPiniaPluginPersistedstate = createPersistedState({
		// key(storeId) {
		//   return '__persistedstate__' + storeId
		// },
		key: (storeId) => '__persistedstate__' + storeId,
		storage: {
			// 重写存操作
			setItem(key, value) {
				return uni.setStorageSync(key, value)
			},
			// 重写取操作
			getItem(key) {
				return uni.getStorageSync(key)
			},
			// 重新删操作
			removeItem(key) {
				return uni.removeStorageSync(key)
			},
		},
	})
	// pinia.use(piniaPluginPersistedstate)
	pinia.use(customPiniaPluginPersistedstate)
	app.use(pinia)
	return {
		app,
	}
}
